/*===============================================
Copyright (c): Technology Co.,Ltd. ALL rights reserved. 
                                                                 
  Create by: LIN
      Email:
       Date:
   Filename:
Description:
    Version:
Last Change:
                                                                 
=======================================*/
                                                                 
`ifndef SWITCH_RANDOM_TEST_SV
`define SWITCH_RANDOM_TEST_SV

//`include "test_base.sv"
`include "mac_seq.sv"

class switch_random_test extends test_base;

	switch_random_test_seq top_seq;

	`uvm_component_utils(switch_random_test)

	extern function new(string name = "switch_random_test", uvm_component parent);
	
	extern task main_phase(uvm_phase phase);

endclass

function switch_random_test::new(string name = "switch_random_test", uvm_component parent);
	super.new(name, parent);
endfunction

task switch_random_test::main_phase(uvm_phase phase);
	phase.raise_objection(this);

	top_seq = new("top_seq");
	this.top_seq.start(env.virt_sqr);
	phase.phase_done.set_drain_time(this, 2000us);
	phase.drop_objection(this);
endtask

`endif
